package com.yf.course.modules.course.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yf.base.api.api.dto.PagingReqDTO;
import com.yf.course.modules.course.dto.CourseFileLearnDTO;
import com.yf.course.modules.course.dto.ext.CourseLearnResultExtDTO;
import com.yf.course.modules.course.dto.response.CourseFileLearnRespDTO;
import com.yf.course.modules.course.entity.CourseFileLearn;

import java.util.List;

/**
* <p>
* 课件学习业务类
* </p>
*
* @author 聪明笨狗
* @since 2020-12-17 11:28
*/
public interface CourseFileLearnService extends IService<CourseFileLearn> {

    /**
    * 分页查询数据
    * @param reqDTO
    * @return
    */
    IPage<CourseFileLearnRespDTO> paging(PagingReqDTO<CourseFileLearnDTO> reqDTO);


    /**
     * 开始学习
     * @param fileId
     */
    void start(String fileId);

    /**
     * 增加课件阅读时间
     * @param userId
     * @param courseId
     * @param fileId
     * @param time
     * @return
     */
    CourseLearnResultExtDTO incr(String userId, String courseId, String fileId, Long time);

    /**
     * 根据文件删除
     * @param ids
     */
    void deleteByFile(List<String> ids);

    /**
     * 查找阅读记录
     * @param userId
     * @param courseId
     * @param fileId
     * @return
     */
    CourseFileLearn findOne(String userId, String courseId, String fileId);
}
